package com.ihr360.authority.sharing.annonation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Rest 接口访问限制
 */

@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface RestControl {

    /**
     * Control Mode
     *
     * @return
     * @see ControlMode
     */
    ControlMode mode() default ControlMode.DENY;

    /**
     * Control methods
     * @return
     */
    String[] controls() default {};

    /**
     * Control ALl
     * @return
     */
    boolean controlAll() default false;
}